package com.permission.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.permission.entity.SysAcl;

/**
 * 专门用来获取角色和权限的Service
 */
public interface SysCoreService {

    /**
     * 获取当前用户权限列表
     * @return
     */
    public List<SysAcl> getCurrentUserAclList();

    /**
     * 获取用户的所有权限
     * @param userId
     * @return
     */
    public List<SysAcl> getUserAclList(int userId);

    /**
     * 获取某个角色的权限
     * @param roleId
     * @return
     */
    public List<SysAcl> getRoleAclList(int roleId);

    /**
     * 超级管理员
     * @return
     */
    public boolean isSuperAdmin();

    public boolean hasUrlAcl(String url);
    
    /**
     * 获取当前用户权限列表
     * @return
     */
    public List<SysAcl> getCurrentUserAclListFromCache();
}
